widget: Fix initial state flags for RTL
authorBenjamin Otte <otte@redhat.com>
Sat, 29 Dec 2012 01:33:14 +0000 (02:33 +0100)
committerBenjamin Otte <otte@redhat.com>
Sat, 29 Dec 2012 01:33:14 +0000 (02:33 +0100)
gtk/gtkwidget.c

index 54e8e2cc6f2ec045ff4ecaef665ba1e449f7a395..53f5048dc9969205dbf4730e70d8696c8c4ba3e8 100644 (file)
@@ -3669,7 +3669,23 @@ gtk_widget_init (GtkWidget *widget)
   priv->double_buffered = TRUE;
   priv->redraw_on_alloc = TRUE;
   priv->alloc_needed = TRUE;
-  priv->state_flags = GTK_STATE_FLAG_DIR_LTR;
+   
+  switch (gtk_widget_get_direction (widget))
+    {
+    case GTK_TEXT_DIR_LTR:
+      priv->state_flags = GTK_STATE_FLAG_DIR_LTR;
+      break;
+
+    case GTK_TEXT_DIR_RTL:
+      priv->state_flags = GTK_STATE_FLAG_DIR_RTL;
+      break;
+
+    case GTK_TEXT_DIR_NONE:
+    default:
+      g_assert_not_reached ();
+      break;
+    }
+
 
   /* this will be set to TRUE if the widget gets a child or if the
    * expand flag is set on the widget, but until one of those happen